Skip to content

fix: align sales form colors with website semantic tokens#2876

Merged
felixkrrr merged 6 commits intomainfrom
cursor/fix-sales-form-coloring-564a
Apr 28, 2026
Merged

fix: align sales form colors with website semantic tokens#2876
felixkrrr merged 6 commits intomainfrom
cursor/fix-sales-form-coloring-564a

Conversation

@felixkrrr
Copy link
Copy Markdown
Contributor

@felixkrrr felixkrrr commented Apr 27, 2026

Problem

The sales/contact form and video embed pages had inconsistent coloring — several elements used blueish-grey colors from old shadcn defaults (border-input, bg-background, ring-ring, default border) instead of the site's warm-grey semantic tokens.

Specifically:

  • Textarea fields (message, additional notes) had blueish-grey borders, backgrounds, and focus rings
  • Checkbox container border was blueish-grey
  • Native checkboxes used browser-default blue when checked
  • Video embed panels on /watch-demo had blueish-grey borders from the default border class

Changes

components/ui/textarea.tsx

Replaced old shadcn tokens with the site's semantic design tokens to match Input and SelectTrigger:

  • border-inputborder-line-structure
  • bg-backgroundbg-surface-bg
  • ring-ring / ring-offset-backgroundring-line-cta / ring-offset-surface-bg
  • placeholder:text-muted-foregroundplaceholder:text-text-disabled
  • roundedrounded-[2px] (consistent with Input/Select)
  • Added text-text-secondary and shadow-sm

components/ContactSalesForm.tsx

  • Checkbox container: border-inputborder-line-structure, rounded-mdrounded-[2px]
  • Native checkbox inputs: added accent-line-cta so checked state uses the site's CTA color, changed border to border-line-structure

components/watchOrBookDemo/WatchWalkthroughs.tsx

  • Video tab content panels: replaced default border (blueish-grey --border variable) with border border-line-structure
  • Added corner-box-corners for consistent decorative bracket corners matching CTA boxes
  • Removed rounded in favor of the corner-box style
  • Aligned iframe border-radius to rounded-[2px]

Resolves LFE-9413

Linear Issue: LFE-9413

Open in Web Open in Cursor 

Disclaimer: Experimental PR review

Greptile Summary

This PR aligns the /talk-to-us sales form's textarea and checkbox elements with the site's warm-grey semantic design tokens, replacing leftover shadcn defaults (border-input, bg-background, ring-ring) to match how Input and SelectTrigger are already styled. The changes are cosmetic-only and well-scoped.

Confidence Score: 4/5

Safe to merge — purely cosmetic token swap with no logic changes.

Only P2 findings: a slightly reduced focus ring in textarea and no-op border/radius classes on a native checkbox. No logic, data, or security concerns.

No files require special attention; both changes are isolated styling updates.

Important Files Changed

Filename Overview
components/ui/textarea.tsx Replaces shadcn default tokens with site semantic tokens; focus ring slightly reduced from ring-2 to ring-1 which may be a minor accessibility concern.
components/ContactSalesForm.tsx Updates checkbox container border token and adds accent-line-cta for checked state colour; border-line-structure/rounded-[2px] on the native checkbox input are inert without appearance: none but harmless.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["Textarea / Checkbox render"] --> B{"Token source"}
    B -->|"Before (shadcn defaults)"| C["border-input\nbg-background\nring-ring\nring-offset-background\nplaceholder:text-muted-foreground"]
    B -->|"After (semantic tokens)"| D["border-line-structure\nbg-surface-bg\nring-line-cta\nring-offset-surface-bg\nplaceholder:text-text-disabled\naccent-line-cta"]
    D --> E["Consistent warm-grey styling\nmatches Input & SelectTrigger"]
Loading
Prompt To Fix All With AI
This is a comment left during a code review.
Path: components/ui/textarea.tsx
Line: 12

Comment:
**Reduced focus ring may affect keyboard accessibility**

The focus ring was shrunk from `ring-2 ring-offset-2` to `ring-1 ring-offset-1`. A 1 px ring with 1 px offset is quite small and may fall short of WCAG 2.4.11 (Focus Appearance) which requires the focus indicator to have a minimum perimeter and area. If the site's other refreshed inputs (e.g. `Input`, `SelectTrigger`) also use `ring-1`, this is consistent and fine — but if they still use `ring-2`, consider keeping `ring-2 ring-offset-2` here for consistency and accessibility.

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: components/ContactSalesForm.tsx
Line: 279

Comment:
**`border-*` and `rounded-[2px]` have no effect on native checkboxes**

Native `<input type="checkbox">` elements ignore `border-*` and `border-radius` CSS in most browsers unless `appearance: none` (or `-webkit-appearance: none`) is also applied; the OS/browser renders its own chrome. `accent-line-cta` is the right way to colour the checked state (good call), but `border-line-structure` and `rounded-[2px]` will be silently ignored visually. The original `border-input` had the same limitation, so this is pre-existing — just worth knowing these classes are inert unless you add `appearance-none` later.

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "fix: align sales form colors with websit..." | Re-trigger Greptile

- Update Textarea component to use semantic tokens (border-line-structure,
  bg-surface-bg, ring-line-cta, etc.) instead of old shadcn defaults
  (border-input, bg-background, ring-ring) which resolve to blueish-grey
- Update checkbox container border from border-input to border-line-structure
- Add accent-line-cta to native checkboxes so checked state uses the
  site's CTA color instead of browser-default blue
- Align border-radius to rounded-[2px] to match Input and Select components

Co-authored-by: felixkrrr <felixkrrr@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
langfuse-docs Ready Ready Preview, Comment Apr 28, 2026 10:48am

Request Review

@felixkrrr felixkrrr marked this pull request as ready for review April 27, 2026 15:55
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Apr 27, 2026
@github-actions
Copy link
Copy Markdown

@claude review

Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, straightforward styling alignment to semantic design tokens.

Extended reasoning...

Overview

This PR updates two files (components/ContactSalesForm.tsx and components/ui/textarea.tsx) to swap old shadcn default color tokens (border-input, bg-background, ring-ring, text-muted-foreground) for the site's warm-grey semantic tokens (border-line-structure, bg-surface-bg, ring-line-cta, text-text-disabled). Border radius is also normalized to rounded-[2px] and native checkboxes get accent-line-cta so checked state matches the site's CTA color.

Security risks

None. The changes are purely Tailwind utility class swaps with no logic, no data flow, no auth/crypto/permissions implications.

Level of scrutiny

Very low. This is a presentation-only XS-sized PR (the label confirms this) that mechanically replaces one set of design tokens with another to align with the broader site styling. No behavioral change, no new dependencies, no API surface affected.

Other factors

The bug hunting system found no issues. The diff is small, self-contained, and the new tokens (border-line-structure, bg-surface-bg, ring-line-cta, text-text-disabled, text-text-secondary) match the patterns already used by sibling components like Input and SelectTrigger per the PR description. Vercel preview build succeeded.

- Replace default 'border' (blueish-grey --border variable) with
  'border border-line-structure' on video tab content panels
- Add corner-box-corners for consistent decorative brackets matching
  CTA boxes and other site elements
- Align iframe border-radius to rounded-[2px] for consistency

Co-authored-by: felixkrrr <felixkrrr@users.noreply.github.com>
@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Apr 28, 2026
- Add 'relative' so corner-box-corners pseudo-element is contained
  within the video card instead of escaping to a page-level ancestor
- Add 'rounded-none' to override the base TabsContent rounded-b-lg
  that caused mismatched bottom border radius

Co-authored-by: felixkrrr <felixkrrr@users.noreply.github.com>
The base TabsContent has overflow-hidden which clips the corner-box-corners
pseudo-element that sits at -1px inset. Add overflow-visible to override.

Co-authored-by: felixkrrr <felixkrrr@users.noreply.github.com>
@felixkrrr felixkrrr added this pull request to the merge queue Apr 28, 2026
@dosubot dosubot Bot added the auto-merge This PR is set to be merged label Apr 28, 2026
Merged via the queue into main with commit ea4ddb6 Apr 28, 2026
14 checks passed
@felixkrrr felixkrrr deleted the cursor/fix-sales-form-coloring-564a branch April 28, 2026 11:11
@dosubot dosubot Bot removed the auto-merge This PR is set to be merged label Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants